package com.comet.opik.api;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.Builder;

import java.math.BigDecimal;
import java.util.List;

@Builder(toBuilder = true)
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public record AggregationData(
        Long experimentCount,
        Long traceCount,
        BigDecimal totalEstimatedCost,
        BigDecimal totalEstimatedCostAvg,
        PercentageValues duration,
        List<FeedbackScoreAverage> feedbackScores,
        List<FeedbackScoreAverage> experimentScores) {
}
